Coaster 1.0 is freeware, though I'd like to hear from people who use this software. Simply send an email to the address mentioned below. Please indicate if you want to be notified by email on updates/bugfixes.
DISCLAIMER: The software "Coaster" is provided AS IS. The author does not take any responsibility for damage (financial/material/immaterial) or loss resulting out of the use of Coaster. Use this software completely at your own risk.
Using Coaster should be pretty straightforward: Set the input characteristics you want using the Popups and Checkboxes, hit record and that's it. When you are done recording, hit stop and then click Save, which prompts for the filename.
Input Source Settings
• Sound Input: This is the Sound Input Device you are using. You set this in the Sound Control Panel under the Sound Input options. Coaster always uses this default sound input device.
• Input Source: Some sound input devices provide several sources where the sound comes from. You can select here which source you want to use.
• Sample Rate: Choose the sample rate you want to use. If you intend to burn a CD from the files you are recording, choose 44100.
• Sample Size: Choose the number of bits a sample is made up of. If you intend to burn a CD from the files you are recording, choose 16.
• Channels: Select if you want to create Mono or Stereo files.
• Automatic Gain Control: Check if you want the sound input device to adjust the gain in a way that you always get maximum possible level without clipping. This is inappropriate for "audiophile" recording as soft passages of music will be raised in level and the resulting sound files are no longer a faithful reproduction of the input signal. So, if you intend to burn a CD from the files you are recording, turn this off.
• Play Thru: Here, you can set the Play-Thru level (in 7 steps on some Macs, on/off on others, e.g. G3s). If the slider is over the crossed out speaker, the Play-Thru function is off.
• Input Gain Sliders: Here, you set the input gain in a way that you record with maximum level, but no clipping. Some devices don't support setting gain for left and right channels independently or even worse, not at all; the slider(s) for the corresponding channel(s) will be dimmed and/or moved along with the left slider. To set up the best recording level, make use of the various display aids like Headroom and Clipping indication (see below). You see the factor by which the input signal gets boosted/attenuated before undergoing AD conversion below the sliders (0.5 … 1.5). Most Macintosh models allow only for few discrete steps here; this will be reflected by the numbers under the sliders accordingly.
• Link L•R: Check if you always want both channels to have the same input gain setting.
REMEMBER: Not all Macintosh models support all the setting options provided by Coaster. If your Mac does not support e.g. separate Gain settings for left and right channels, the right channel slider will be dimmed (and move along with the left one). This applies to other things (like Automatic Gain Control or Stereo recording) in the same manner: If an option is not supported by your hardware, the corresponding control will be dimmed, or some choices won't be available.
Recording Options
• Hold Clipping Indicator: If this is on, once there was a clipping, the clipping indicator will be on indefinitely. This helps in judging a recording if you don't have an eye on the clipping indicators all the way through the recording. To turn off the clipping indicator, click on Reset Clip. If this is off, the clipping indicator will indicate a clipping for about 1 second.
• Beep on Clipping: A horrible sound is played whenever a clipping occurs. This is handy if you want to set the input level not using the Input Gain sliders, but by adjusting the output level of your sound source, and cannot look at the computer screen at the same time. This way, you can "hear" if a clipping occurred.
• Clipping is <x> consecutive MAX samples: Set the number of consecutive samples of maximum level that should occur before you consider it clipping. The default setting is 3 samples.
• Automatic Recording: Coaster detects gaps in the audio material and either pauses automatically during these gaps or starts recording in a new file after such a gap. You can set the desired gap detection characteristics in a separate dialog that opens when you click the Settings… button (see below for a detailed descriptions of this dialog).
• Eliminate Clicks: When you select this option, Coaster modifies your audio files at the beginning and at the end in a way that it's always at a waverform zero crossing point where the recording "ends". This is handled independently for left and right channels.
• Destination for new Recordings: Using the Choose… button, you are presented a file selector box where you choose a folder where Coaster puts new recordings. Clicking the displayed folder name, its window is opened in the Finder.
• Creator Code for new files: Here, you can enter a Creator Code for all newly generated/recorded sound files. If you don't know the Creator of the application you want to open the sound files after recording, choose "Same As…" and open the application you want (you may also select a file that was generated by that application).
• The scissors icon: When you click this button while a recording is in progress, a new file is started at that moment. The transition should be seamless (however, only if Eliminate Clicks is OFF!), so you can splice the resulting files into one single big file afterwards without loosing a single sample!
Displays
• Level Meter: This is where the recording levels are displayed. Three colours help you in judging the recording level, and accurate level calibration adds to this. On top of each bar is the clipping indicator which lights up when a clipping occurs.
Below each bar is the headroom display. There ou can see how much db's are left until clipping occurs. Click on the headroom display box to reset the headroom metering.
Cmd-Click in level meter box to change headroom display from available dBs to maximum absolute level that occurred up to that time and back. This is useful for obtaining accurate values for parameter settings in the Automatic Recording Settings Dialog (see below).
• Elapsed: Tells you how long the recording currently is.
• Remaining: Tells you how much you can still record in the folder you chose for new recordings.
• Clip Count: Tells you how many clippings have occurred. To reset the counter, click the display box.
Automatic Recording Settings Dialog
All level settings can be made either in absolute sample values ("Absolute"), dezibels of attenuation, i.e. negative values ("dB") or in percentage of the available sample value range ("%").
All time settings can be made either in milliseconds ("ms") or in number of samples ("Samples").
Simply choose the desired setting method using the popups to the right of the value entry fields.
IMPORTANT: When switching between units, rounding of the values might occur!
• Auto-Pause/Threshold: If the value falls below this level for at least the time specified in Postroll, the corresponding part is recognized as "silence", the recording is paused and the desired Silence Action is executed.
• Auto-Pause/Postroll: Recording continues for the specified time even after the audio level has dropped below the Threshold. You can think of this time the minimum duration of silence you want to detect as such.
• Auto-Resume/Threshold: If the audio signal level rises above this value and Coaster is in recording paused mode, the recording continues automatically.
• Auto-Resume/Preroll: If the signal level rises above the Threshold value and recording continues, the specified duration of audio that lies BEFORE the point where the Threshold was reached is written into the current audio file before the now current signal. This is used to be able to safely detect real audio material by setting a relatively high Threshold value, but not to lose the important attack phase of the signal that actually lies BEFORE the point where the Threshold value was reached. Coaster provides an internal pre-recording buffer to accomplish this task. The size of this buffer is limited to about 3 seconds at 44.1KHz/16Bit/Stereo.
• Silence Action: Select what sould be done when Coaster detects silence (a gap) in the audio material. If you choose Pause Recording, Coaster simply halts/pauses the recording until the Auto-Resume/Threshold value is reached, when recording resumes. If you select Pause & Split File on Resume, Coaster pauses recording when it detects a gap, immediately creates a new file und when recording resumes, audio data is recorded into the new file.
TIP: The following values have proven to be quite useful for a 44.1kHz/16 Bit recording from a CD or DAT source: Auto-Pause/Threshold: 50 (abs), Auto-Pause/Postroll: 1000 (ms), Auto-Resume/Threshold: 150 (abs), Auto-Resume/Preroll: 120 (ms)
Keeping or Discarding a Recording
If you have finished a recording, you may wish to keep or discard it. If you wish to keep it, click Save and Coaster prompts you for the name of the recording. If you have generated several files (using e.g. the Automatic Recording feature), the name you provide here will be used for all files generated, suffixed by the number of sequence they were created in. The number consists of only one digit if fewer than 10 files have been created; it consists of two digits if more than 9 files have been generated (so you can always "sort by name" in the Finder and get the right creation sequence).
If you want to discard the recording, click Delete, which deletes all temporary files which have been created during the most recent recording process.
Keyboard Shortcuts in the Record Window
Cmd-T: Toggle Automatic Recording on/off
Cmd-K: Same as clicking "Split File Now!" button
Cmd-B: Toggling "Beep on Clip"
Cmd-H: Toggling "Hold Clipping"
Cmd-. : Same as clicking Stop button
Cmd-<Tab> or Cmd-F: Opens the recording destination folder in the Finder
Cmd-, : Same as clicking Pause button
Cmd-R: Same as clicking Record button
Cmd-E: Toggling Eliminate Clicks option
Cmd-click in level meter: Toggle between available dezibels and absolute maximum value occurred so far
<Return>: Same as clicking Save
<Esc>: Same as clicking Delete
Cmd-W: Close the Record Window
Why yet another Recording Utility?!?!
Because I have not found one that has all of the following key features that Coaster has:
• Runs on 68k Macs (requires processor Motorola 68020 or higher)
• Accurate level display in db.
• Catches EVERY clipping that occurs (even in background) by not relying on the Toolbox functions for determining the input signal level, but by scanning the complete input signal that gets written to disk.
• Can record in background extremely well by using variable-sized record buffers. If Coaster tells you that the disk or your Mac ist too slow, simply allocate a bigger memory partition to Coaster and try again. 5000K have served me well on a Q660AV (68040/25MHz) machine.
• Provides Headroom display.
• Sound feedback for clipping. New clipping shuts up playing sound and is not scheduled AFTER a currently playing sound.
• Records all settings in the application's Preferences file.
• Restores Sound Input Device settings to original values when closing the Record window or quitting.
• Splits files on the fly without losing a single sample
• It's free :-)
Bugs & Suggestions
If you have found any bugs or want to make suggestions, please contact me via Email at rothc@in.tum.de .
You can download the current version of Coaster from
<http://www.in.tum.de/~rothc/software.html>
Note: The given addresses might change around April 1999. Please check back for more information. If you want to be notified about address changes, please tell me your email address.
Bugfix / Change History
Coaster 1.0 (First official public release) - March 5th, 1999
• FINALLY FIXED! Thanks to Adam Siegel, I finally discovered what prompted the paramErr (-50) when opening the recording window on some machines. The reason is a bug in Apple's(!) Sound Input Device Driver that returns bogus values. So far, this has been confirmed on PM7200 and PM7500. For these machines, I have provided a workaround (instead of stereo gain, I support only the functioning, "normal" gain setting which is equal for both channels - you can record in stereo, of course!). I do this by checking the machine Gestalt value. If you experience a similar behaviour on your machine this means it has also that buggy driver, but this is not yet known to Coaster. There is a simple procedure to make Coaster work on your Mac by adding an entry into the BUGs resource #1000. For detailed instructions on how your Mac can be added to the BUGs resource, please send an email indicating EXACTLY the model you are using. Instructions on how to modify Coaster will be sent to you as soon as possible, normally within one day. I need you to email me, as I must update my "buggy Macs" database with every known faulty Mac so that new releases already have the list 'built-in'.
• NOT YET FIXED: reported crashes in file splitting on PowerMacs with OS 8.5.1. I have no clue...
• Once again, setting the root volume as recording destination is correctly displayed and stored in the preferences. (This was broken in 0.9.9b)
Coaster 0.9.9b (…)
• Internal change: Moved to MacZoop 2.0.
• Now requires Appearance Manager (≥1.0.1)
• some minor graphical updates to Mac OS8 HIG
• provides better error reports
• graphical errors when using AppleScript fixed
• NOT YET FIXED: reported crashes in file splitting on PowerMacs with OS 8.5.1
• NOT YET FIXED: A reported bug where paramErr (-50) occurs. I simply couldn't track down the problem so far as I cannot reproduce this error.
Coaster 0.9.8b (grmpff!)
• Rudimentary AppleScript™ support. For details, see the demo script in the AppleScript folder.
• Added possibility to save and retrieve complete recording settings in a file (includes the settings of the Automatic Recording Dialog). Launching Coaster by double clicking a settings file opens the recording window automatically. Useful if you have several scenarios (CD, speech, radio, ...) with different settings for gain, sample rate, channels or destination folder.
• In the About-Dialog, additional info on the available features of the recording hardware is displayed (e.g. mono/stereo possibility, mono/stereo gain, AGC etc.)
Coaster 0.9.7b (internal version, never released)
Coaster 0.9.6b (Feature complete really really... well, you guess it)
IMPORTANT: Delete Preferences from earlier versions!
• Stereo input gain bug now (hopefully!) really fixed.
• New Feature: Balloon Help in all dialogs and the Coaster menus.
• New Dialog: Keyboard Shortcuts, accessable from the Mac's global Help Menu.
• New Feature: Units in Automatic Recording Settings dialog now saved in preferences.
Coaster 0.9.5b (Feature complete really final Final Beta)
• On Macs providing independent gain settings for left and right channels, the Link-option and setting gain values would not work reliably.
• New Feature: Cmd-click the level meter to toggle the headroom display between available dezibels and the maximum absolute level that occurred since the last headroom display reset (by just clicking into the level meter display). Useful for obtaining useful values for setting parameters in the Automatic Recording Settings-Dialog.
Coaster 0.9.4b (Feature complete final Final Beta)
• Record Paths that are abbreviated in the dialog window display are not retrieved correctly from Preferences.
• Record Path abbreviation was not calculated correctly.
Coaster 0.9.3b (Feature complete Final Beta)
• OpenFinderFolder() causes to send back an error -1708 (Apple Event not handled), though everything worked fine. (Don't know what the problem is. Simply ignoring it for now.)
• Clicking the Record Folder Path in the Record Dialog opens the folder in the Finder and brings the Finder to the foreground. (Code taken from Snippets. Why do we get an "event not handled" error?!?!)
• Launching Coaster w/o Prefs, opening record window, closing window, reopening it: New Creator for files is set to garbage value. (lastCreator was not initialized in constructor. Now initialized to app's signature.)
• Clicking the "Split File Now!" button creates a new file immediately, into which recording resumes. Subsequent naming of "the file" will create files with the given name as prefix and a count (starting from 1) will be appended.
• Gain levels displayed below Gain sliders. Clicking the value sets 1.0 for both Gain Sliders (i.e. FLAT).
• The window is no longer closed after a recording is saved/cancelled. Close the window with the Close button or the Close command.
• Cancel renamed to Delete. It deletes the last recording(s).
• Setting the record folder to the root level of a volume, only a colon : is displayed, but the volume name is missing. (Bug in MacZoop.)
• Naming batch of files, where name already exists: Error displayed for every file, but no possibility to correct name. FIXED.
• Cancelling out of Record Folder Selection Dialog leaves all Record Window Items disabled. (Bug in MacZoop: gWindowManager->Activate() in ChooseFolder() in wrong place: It gets not called if the dialog is dismissed by clicking exit.)
• Auto Recording Feature. (see above for description)
• Eliminate Clicks option. (see above for description)
Coaster 0.9.2b
• Recording in 8 Bit/Mono/48kHz caused Quadra660AV/880AV to freeze. This is hopefully fixed now.
• If clipping indicator is lit and new clipping occurs, clipping sound was not restarted. Now, everytime a clipping occurs, clipping sound is played (if the option is enabled), even if the clipping indicator stays lit for the whole time.
• Entered value in "x samples is clip" now validated after input. If out of range, warning appears and previous value gets set. Range: 1-999.
• Coaster now performs a thorough check if all capabilities which are required for the recording job are present on the Macintosh where you run it. If there are not, it tries to give a descriptive message telling you what's wrong or missing.
• Compiled with new MacZOOP framework (1.8.2).
• Window position now remembered in preferences. On reopening the window, a check is performed if the window is completely visible on the screen. If it is not, it is repositioned to a default position on the main screen.
Coaster 0.9.1b
• After a recording, when naming the temporary file, the Finder-Window or, even worse, the desktop does not show the new name of the file. (Finder updates its information only when the volume modification date is changed. So now, after having renamed the temp file, we create a temp file and immediately delete it. This duzit.)
• Record command is not dimmed when recording is not possible on the corresponding machine. (Now, we check if we can open the default input sound device. If we can‘t, the menu command is disabled.)
• Play-Through switching did not work reliably. Play-Through not saved and restored correctly from Preferences.
• FRAMEWORK: When activating window by clicking title bar and then moving mouse after havin released the mouse button, after window is topped it is moved to the then current mouse location. Corrected.
• The application name was changed to ”Coaster“, anticipating the planned CD-Recording feature: The term coaster is used for CD recordables that got trashed by errors during CD recording. (New Name: ”Coaster“; New Creator: ’rC#1‘, scheduled for registration at Apple.)
• When closing Record window, previous Sound Input Device settings (in effect just before opening the window) should be restored. (Saved at entry, restored in the window destructor.)
• You can set the creator of a new file by editing the Application file with ResEdit: Change the Resource 'DATA' #1000 accordingly. (At the moment: Movie Player (TVOD))
• Resource File Refnum not restored when writing to preferences file. (Resulted in not finding resources or writing preferences into application file.)
• Preferences File not named correctly. Now: 'Coaster Preferences'.
• Record Window position is not remembered between openings of the window (always alert position).
• Application Help Balloon Text is wrong.
• Clipping sound smaller, shorter and more appropriate (probably:-)).
• Disable opening of AIFF files. (For the moment, until we can do something useful with them.)
• Got confirmation from Apple for being able to use ’rC#1‘ as Creator code. (rC#1 creator code approved by Apple.)
• Preferences now in resource 'pref' #1000.
Coaster 0.9d (originally named "Burger")
• First development version for courageous beta testers - thanks Markus!